package com.data.modules.online.auth.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

@ApiModel(description = "onl_auth_page", value = "onl_auth_page对象")
@TableName("onl_auth_page")
public class OnlAuthPage implements Serializable {
    private static final long serialVersionUID = 1;
    @Excel(name = "online表id", width = 15.0d)
    @ApiModelProperty("online表id")
    private String cgformId;
    @Excel(name = "字段名/按钮编码", width = 15.0d)
    @ApiModelProperty("字段名/按钮编码")
    private String code;
    @Excel(name = "3可编辑 5可见", width = 15.0d)
    @ApiModelProperty("3可编辑 5可见")
    private Integer control;
    @JsonIgnore
    @ApiModelProperty("创建人")
    private String createBy;
    @JsonIgnore
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date createTime;
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(" 主键")

    private String id;
    @Excel(name = "3列表 5表单", width = 15.0d)
    @ApiModelProperty("3列表 5表单")
    private Integer page;
    @Excel(name = "1有效 0无效", width = 15.0d)
    @ApiModelProperty("1有效 0无效")
    private Integer status;
    @Excel(name = "1字段 2按钮", width = 15.0d)
    @ApiModelProperty("1字段 2按钮")
    private Integer type;
    @JsonIgnore
    @ApiModelProperty("更新人")
    private String updateBy;
    @JsonIgnore
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty("更新日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date updateTime;

    public OnlAuthPage setCgformId(String cgformId2) {
        this.cgformId = cgformId2;
        return this;
    }

    public OnlAuthPage setCode(String code2) {
        this.code = code2;
        return this;
    }

    public OnlAuthPage setControl(Integer control2) {
        this.control = control2;
        return this;
    }

    @JsonIgnore
    public OnlAuthPage setCreateBy(String createBy2) {
        this.createBy = createBy2;
        return this;
    }

    @JsonIgnore
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    public OnlAuthPage setCreateTime(Date createTime2) {
        this.createTime = createTime2;
        return this;
    }

    public OnlAuthPage setId(String id) {
        this.id = id;
        return this;
    }

    public OnlAuthPage setPage(Integer page2) {
        this.page = page2;
        return this;
    }

    public OnlAuthPage setStatus(Integer status2) {
        this.status = status2;
        return this;
    }

    public OnlAuthPage setType(Integer type2) {
        this.type = type2;
        return this;
    }

    @JsonIgnore
    public OnlAuthPage setUpdateBy(String updateBy2) {
        this.updateBy = updateBy2;
        return this;
    }

    @JsonIgnore
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    public OnlAuthPage setUpdateTime(Date updateTime2) {
        this.updateTime = updateTime2;
        return this;
    }

    @Override
    public String toString() {
        return "OnlAuthPage(id=" + getId() + ", cgformId=" + getCgformId() + ", code=" + getCode() + ", type=" + getType() + ", control=" + getControl() + ", page=" + getPage() + ", status=" + getStatus() + ", createTime=" + getCreateTime() + ", createBy=" + getCreateBy() + ", updateBy=" + getUpdateBy() + ", updateTime=" + getUpdateTime() + ")";
    }


    public boolean canEqual(Object other) {
        return other instanceof OnlAuthPage;
    }

    @Override
    public boolean equals(Object o) {
        if (o == this) {
            return true;
        }
        if (!(o instanceof OnlAuthPage)) {
            return false;
        }
        OnlAuthPage onlAuthPage = (OnlAuthPage) o;
        if (!onlAuthPage.canEqual(this)) {
            return false;
        }
        Integer type2 = getType();
        Integer type3 = onlAuthPage.getType();
        if (type2 != null ? !type2.equals(type3) : type3 != null) {
            return false;
        }
        Integer control2 = getControl();
        Integer control3 = onlAuthPage.getControl();
        if (control2 != null ? !control2.equals(control3) : control3 != null) {
            return false;
        }
        Integer page2 = getPage();
        Integer page3 = onlAuthPage.getPage();
        if (page2 != null ? !page2.equals(page3) : page3 != null) {
            return false;
        }
        Integer status2 = getStatus();
        Integer status3 = onlAuthPage.getStatus();
        if (status2 != null ? !status2.equals(status3) : status3 != null) {
            return false;
        }
        String id = getId();
        String id2 = onlAuthPage.getId();
        if (id != null ? !id.equals(id2) : id2 != null) {
            return false;
        }
        String cgformId2 = getCgformId();
        String cgformId3 = onlAuthPage.getCgformId();
        if (cgformId2 != null ? !cgformId2.equals(cgformId3) : cgformId3 != null) {
            return false;
        }
        String code2 = getCode();
        String code3 = onlAuthPage.getCode();
        if (code2 != null ? !code2.equals(code3) : code3 != null) {
            return false;
        }
        Date createTime2 = getCreateTime();
        Date createTime3 = onlAuthPage.getCreateTime();
        if (createTime2 != null ? !createTime2.equals(createTime3) : createTime3 != null) {
            return false;
        }
        String createBy2 = getCreateBy();
        String createBy3 = onlAuthPage.getCreateBy();
        if (createBy2 != null ? !createBy2.equals(createBy3) : createBy3 != null) {
            return false;
        }
        String updateBy2 = getUpdateBy();
        String updateBy3 = onlAuthPage.getUpdateBy();
        if (updateBy2 != null ? !updateBy2.equals(updateBy3) : updateBy3 != null) {
            return false;
        }
        Date updateTime2 = getUpdateTime();
        Date updateTime3 = onlAuthPage.getUpdateTime();
        if (updateTime2 == null) {
            if (updateTime3 == null) {
                return true;
            }
        } else if (updateTime2.equals(updateTime3)) {
            return true;
        }
        return false;
    }

    @Override
    public int hashCode() {
        int i = 43;
        Integer type2 = getType();
        int hashCode = type2 == null ? 43 : type2.hashCode();
        Integer control2 = getControl();
        int i2 = (hashCode + 59) * 59;
        int hashCode2 = control2 == null ? 43 : control2.hashCode();
        Integer page2 = getPage();
        int i3 = (hashCode2 + i2) * 59;
        int hashCode3 = page2 == null ? 43 : page2.hashCode();
        Integer status2 = getStatus();
        int i4 = (hashCode3 + i3) * 59;
        int hashCode4 = status2 == null ? 43 : status2.hashCode();
        String id = getId();
        int i5 = (hashCode4 + i4) * 59;
        int hashCode5 = id == null ? 43 : id.hashCode();
        String cgformId2 = getCgformId();
        int i6 = (hashCode5 + i5) * 59;
        int hashCode6 = cgformId2 == null ? 43 : cgformId2.hashCode();
        String code2 = getCode();
        int i7 = (hashCode6 + i6) * 59;
        int hashCode7 = code2 == null ? 43 : code2.hashCode();
        Date createTime2 = getCreateTime();
        int i8 = (hashCode7 + i7) * 59;
        int hashCode8 = createTime2 == null ? 43 : createTime2.hashCode();
        String createBy2 = getCreateBy();
        int i9 = (hashCode8 + i8) * 59;
        int hashCode9 = createBy2 == null ? 43 : createBy2.hashCode();
        String updateBy2 = getUpdateBy();
        int i10 = (hashCode9 + i9) * 59;
        int hashCode10 = updateBy2 == null ? 43 : updateBy2.hashCode();
        Date updateTime2 = getUpdateTime();
        int i11 = (hashCode10 + i10) * 59;
        if (updateTime2 != null) {
            i = updateTime2.hashCode();
        }
        return i11 + i;
    }

    public String getId() {
        return this.id;
    }

    public String getCgformId() {
        return this.cgformId;
    }

    public String getCode() {
        return this.code;
    }

    public Integer getType() {
        return this.type;
    }

    public Integer getControl() {
        return this.control;
    }

    public Integer getPage() {
        return this.page;
    }

    public Integer getStatus() {
        return this.status;
    }

    public Date getCreateTime() {
        return this.createTime;
    }

    public String getCreateBy() {
        return this.createBy;
    }

    public String getUpdateBy() {
        return this.updateBy;
    }

    public Date getUpdateTime() {
        return this.updateTime;
    }

    public OnlAuthPage() {
    }

    public OnlAuthPage(String cgformId2, String code2, int page2, int control2) {
        this.type = 1;
        this.cgformId = cgformId2;
        this.code = code2;
        this.control = Integer.valueOf(control2);
        this.page = Integer.valueOf(page2);
        this.status = 1;
    }
}
